package cn.kgc.tangcco.exception;

/**
 * @author 李昊哲
 * @Description
 * @create 2020/8/24 上午11:26
 */
public class Demo01 {
    public static int fun01(int a, int b) {
        return a / b;
    }

    public static int fun02(int a, int b) {
        int c;
        try {
            // 将有可能出现异常的代码放在try语句块中
            c = a / b;
            return c;
        } catch (Exception e) {
            // 捕获异常 对异常的处理
            System.out.println("数学异常,异常的值为 >>> " + b);
            // 打印内存堆栈错误信息
            // e.printStackTrace();
            return 0;
        }
    }

    public static int fun03(int a, int b) {
        int c;
        try {
            // 将有可能出现异常的代码放在try语句块中
            c = a / b;
            System.out.println("OK");
            return c;
        } catch (Exception e) {
            // 捕获异常 对异常的处理
            System.out.println("数学异常,异常的值为 >>> " + b);
            // 打印内存堆栈错误信息
            // e.printStackTrace();
            // 退出jvm
            // System.exit(0);
            return 0;
        } finally {
            // 不论程序是否会出现异常在异常代码块执行最后抹灰执行finally中的代码
            // 即便return也无法阻挡
            System.out.println("哈哈哈，病了之后不论你吃不吃药，你的身体都都会出现不适");
        }
    }

    public static int fun04(int a, int b) throws Exception {
        int c = 0;
        try {
            // 将有可能出现异常的代码放在try语句块中
            c = a / b;
            System.out.println("OK");

        } catch (Exception e) {
            // 有病我不治 谁调用我谁处理
            throw new Exception("错误的值 >>> " + b);
        }
        return c;
    }

    public static void fun05(boolean flag) throws Exception {
        if (!flag){
            throw  new Exception("参数不能为 >>> " + flag);
        }else {
            System.out.println("李昊哲最帅");
        }
    }
}
